package io.renren.modules.job.task;

/**
 * Copyright 2018
 * <p>
 * Licensed under the Apache License, Version 2.0 (the "License"); you may not
 * use this file except in compliance with the License. You may obtain a copy of
 * the License at
 * <p>
 * http://www.apache.org/licenses/LICENSE-2.0
 * <p>
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
 * License for the specific language governing permissions and limitations under
 * the License.
 */

import io.renren.common.utils.ProjectConstant;
import io.renren.modules.biz.entity.PhoneCodeEntity;
import io.renren.modules.biz.entity.RoomEntity;
import io.renren.modules.biz.service.PhoneCodeService;
import io.renren.modules.biz.service.RoomService;

import java.util.Date;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;

import com.baomidou.mybatisplus.mapper.EntityWrapper;

/**
 * 
 * @author Mark sunlightcs@gmail.com
 * @Description: 游戏任务
 * @since 1.2.0 2016-11-28
 */
@Component("gameTask")
public class GameTask {
	private Logger logger = LoggerFactory.getLogger(getClass());

	@Autowired
	RoomService roomService;

	@Autowired
	PhoneCodeService phoneCodeService;

	/**
	 * 过期房间禁用,过期短信验证码删除
	 */
	public void expire() {
		logger.info("过期房间禁用,过期短信验证码删除");
		Date now = new Date();
		// 过期房间禁用
		RoomEntity room = new RoomEntity();
		room.setStatus(ProjectConstant.COMMON_NO);
		room.setVipRoomPwd("过期");
		room.setUpdateTime(now);
		roomService.update(room, new EntityWrapper<RoomEntity>().eq("status", ProjectConstant.COMMON_YES).lt("vip_expire_time", now));

		// 过期短信验证码删除
		phoneCodeService.delete(new EntityWrapper<PhoneCodeEntity>().lt("expire_time", now));
	}
}
